Conversation
- Added `x_send_dm` tool using v2 endpoint (`POST /dm_conversations/with/:id/messages`) for reliable 1:1 messaging. - Fixed 403 Forbidden payload validation errors by simplifying DM payload structure. - Enhanced `_handle_response` to verify `x_tool.py` returns raw API error details for 403/400 responses, aiding in permission debugging. - Updated `demo_x_tools.py` to support standard `.env` variable names (e.g., `X_API_KEY`) and added user lookup for DM testing. - Added unit tests covering new DM functionality and payload verification in `test_x_tool.py`. - Audited credential handling: Read-only tools (Search/Mentions) correctly use Bearer Token, while Write tools (Post/Reply/Delete/DM) enforce OAuth 1.0a User Context. Verified with live API tests (see PR description for logs).
PR Closed - Requirements Not MetThis PR has been automatically closed because it doesn't meet the requirements. PR Author: @Amdev-5 To fix:
Exception: To bypass this requirement, you can:
Micro-fix requirements (must meet ALL):
Why is this required? See adenhq#472 for details. |
|
Hi @Amdev-5, we just created a new branch in our repo since this one seems to be auto-closing. However, went porting from your branch, we lost your contributor status in the branch. Since we still value your contribution and want to make sure you get the credit you deserve, would you please take a look at the tools test and update that to get on the contributors list again? Thank you so much and sorry about the inconvenience. Here is the pr: adenhq#3807 |
|
Hi @Amdev-5, just to add a quick note, it seems like its possible that your email may not be verified/linked with GIthub so if you do that through Github Settings > Emails and add your email, github should retroactively link you as a contributor. Thanks again! |
|
|




Fixes adenhq#2598
Description
This PR finalizes the X (Twitter) tools integration, adding Direct Message capabilities and robust error handling. addressing previous review feedback regarding OAuth scopes and testing.
Changes
POST /dm_conversations/with/:participant_id/messagesendpoint.Addressing Review Feedback
Response: Correct. The implementation strictly separates these concerns:
X_BEARER_TOKEN.X_API_KEY,X_API_SECRET,X_ACCESS_TOKEN,X_ACCESS_TOKEN_SECRET).Response: I have updated the docstrings for all Write tools to explicitly state: "Requires OAuth 1.0a authentication".
Response:
55 passed).Verification Logs
Verified against the live X API.
View Log
{"data": [
{
"id": "2019711890176577918",
"text": "RT @Myles_ofs: Python (FREE)..."
}
]
}
View Log
{"data": [
{
"id": "2019703796579127499",
"text": "Hi,\n\n@Support @X..."
}
]
}
2019713526731043169View Log
{"data": {
"id": "2019713526731043169",
"text": "Hive MCP integration test - 1770372203"
}
}
2019713536696697048View Log
{"data": {
"id": "2019713536696697048",
"text": "Automated reply from Hive MCP tools!"
}
}
View Log
{"data": {
"deleted": true
}
}
1299966336068591616View Log
Unit Tests
All 55 tests passed.